home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
tex
/
texsrc.arc
/
TEX3.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
44KB
|
2,018 lines
overlay "tex3"
#define EXTERN extern
#include "texd.h"
scancharnum () { r_scancharnum
scanint () ;
if ( ( curval < 0 ) || ( curval > 255 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 543 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 550 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scanfifteenb () { r_scanfifteenb
scanint () ;
if ( ( curval < 0 ) || ( curval > 32767 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 551 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 552 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scantwentyse () { r_scantwentyse
scanint () ;
if ( ( curval < 0 ) || ( curval > 134217727 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 553 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 554 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scanfontiden () { r_scanfontiden
internalfont f ;
halfword m ;
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( curcmd == 87 )
f = eqtb [ 4578 ] .hh .v.RH ;
else if ( curcmd == 86 )
f = curchr ;
else if ( curcmd == 85 )
{
m = curchr ;
scanfourbiti () ;
f = eqtb [ m + curval ] .hh .v.RH ;
}
else {
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 670 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 671 ;
helpline [ 0 ] = 672 ;
}
backerror () ;
f = 0 ;
}
curval = f ;
}
zfindfontdime ( writing )
boolean writing ;
{r_findfontdime
internalfont f ;
integer n ;
scanint () ;
n = curval ;
scanfontiden () ;
f = curval ;
if ( n <= 0 )
curval = fmemptr ;
else {
if ( writing && ( n <= 4 ) && ( n >= 2 ) && ( fontglue [ f ] != 0 ) )
{
deletegluere ( fontglue [ f ] ) ;
fontglue [ f ] = 0 ;
}
if ( n > fontparams [ f ] )
if ( f < fontptr )
curval = fmemptr ;
else {
do { if ( fmemptr == fontmemsize )
overflow ( 677 , fontmemsize ) ;
fontinfo [ fmemptr ] .cint = 0 ;
incr ( fmemptr ) ;
incr ( fontparams [ f ] ) ;
} while ( ! ( n == fontparams [ f ] ) ) ;
curval = fmemptr - 1 ;
}
else curval = n + parambase [ f ] ;
}
if ( curval == fmemptr )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 655 ) ;
}
printesc ( hash [ 3268 + f ] .v.RH ) ;
print ( 673 ) ;
printint ( fontparams [ f ] ) ;
print ( 674 ) ;
{
helpptr = 2 ;
helpline [ 1 ] = 675 ;
helpline [ 0 ] = 676 ;
}
error () ;
}
}
zscansomethin ( level , negative )
smallnumber level ;
boolean negative ;
{r_scansomethin
halfword m ;
integer p ;
m = curchr ;
switch ( curcmd )
{case 84 :
{
scansevenbit () ;
if ( m == 5139 )
{
curval = eqtb [ 5139 + curval ] .hh .v.RH ;
curvallevel = 0 ;
}
else if ( m < 5139 )
{
curval = eqtb [ m + curval ] .hh .v.RH ;
curvallevel = 0 ;
}
else {
curval = eqtb [ m + curval ] .cint ;
curvallevel = 0 ;
}
}
break ;
case 70 :
case 71 :
case 85 :
case 86 :
case 87 :
if ( level != 5 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 522 ) ;
}
{
helpptr = 3 ;
helpline [ 2 ] = 523 ;
helpline [ 1 ] = 524 ;
helpline [ 0 ] = 525 ;
}
backerror () ;
{
curval = 0 ;
curvallevel = 1 ;
}
}
else if ( curcmd <= 71 )
{
if ( curcmd < 71 )
{
scaneightbit () ;
m = 4066 + curval ;
}
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 5 ;
}
}
else {
backinput () ;
scanfontiden () ;
{
curval = 3268 + curval ;
curvallevel = 4 ;
}
}
break ;
case 72 :
{
curval = eqtb [ m ] .cint ;
curvallevel = 0 ;
}
break ;
case 73 :
{
curval = eqtb [ m ] .cint ;
curvallevel = 1 ;
}
break ;
case 74 :
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 2 ;
}
break ;
case 75 :
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 3 ;
}
break ;
case 78 :
if ( abs ( curlist .modefield ) != m )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 536 ) ;
}
printcmdchr ( 78 , m ) ;
{
helpptr = 4 ;
helpline [ 3 ] = 537 ;
helpline [ 2 ] = 538 ;
helpline [ 1 ] = 539 ;
helpline [ 0 ] = 540 ;
}
error () ;
if ( level != 5 )
{
curval = 0 ;
curvallevel = 1 ;
}
else {
curval = 0 ;
curvallevel = 0 ;
}
}
else {
curval = curlist .auxfield ;
if ( m == 1 )
curvallevel = 1 ;
else curvallevel = 0 ;
}
break ;
case 79 :
{
nest [ nestptr ] = curlist ;
p = nestptr ;
while ( abs ( nest [ p ] .modefield ) != 1 ) decr ( p ) ;
{
curval = nest [ p ] .pgfield ;
curvallevel = 0 ;
}
}
break ;
case 81 :
{
if ( m == 0 )
curval = deadcycles ;
else curval = insertpenalt ;
curvallevel = 0 ;
}
break ;
case 80 :
{
if ( pagecontents == 0 )
if ( m == 0 )
curval = 1073741823 ;
else curval = 0 ;
else curval = pagesofar [ m ] ;
curvallevel = 1 ;
}
break ;
case 83 :
{
if ( eqtb [ 4056 ] .hh .v.RH == 0 )
curval = 0 ;
else curval = mem [(long) eqtb [ 4056 ] .hh .v.RH ] .hh .v.LH ;
curvallevel = 0 ;
}
break ;
case 82 :
{
scaneightbit () ;
if ( eqtb [ 4322 + curval ] .hh .v.RH == 0 )
curval = 0 ;
else curval = mem [(long) eqtb [ 4322 + curval ] .hh .v.RH + m ] .cint ;
curvallevel = 1 ;
}
break ;
case 67 :
case 68 :
{
curval = curchr ;
curvallevel = 0 ;
}
break ;
case 76 :
{
findfontdime ( false ) ;
fontinfo [ fmemptr ] .cint = 0 ;
{
curval = fontinfo [ curval ] .cint ;
curvallevel = 1 ;
}
}
break ;
case 77 :
{
scanfontiden () ;
if ( m == 0 )
{
curval = hyphenchar [ curval ] ;
curvallevel = 0 ;
}
else {
curval = skewchar [ curval ] ;
curvallevel = 0 ;
}
}
break ;
case 88 :
{
scaneightbit () ;
switch ( m )
{case 0 :
curval = eqtb [ 5317 + curval ] .cint ;
break ;
case 1 :
curval = eqtb [ 5721 + curval ] .cint ;
break ;
case 2 :
curval = eqtb [ 3544 + curval ] .hh .v.RH ;
break ;
case 3 :
curval = eqtb [ 3800 + curval ] .hh .v.RH ;
break ;
}
curvallevel = m ;
}
break ;
case 69 :
{
if ( curchr == 2 )
curval = 0 ;
else curval = 0 ;
curvallevel = curchr ;
if ( ! ( curlist .tailfield >= himemmin ) && ( curlist .modefield != 0 )
)
switch ( curchr )
{case 0 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 12 )
curval = mem [(long) curlist .tailfield + 1 ] .cint ;
break ;
case 1 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 11 )
curval = mem [(long) curlist .tailfield + 1 ] .cint ;
break ;
case 2 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 10 )
{
curval = mem [(long) curlist .tailfield + 1 ] .